home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / f90 / csmg.z / csmg
Encoding:
Text File  |  2002-10-03  |  3.1 KB  |  76 lines

  1. CSMG(3I)                                              Last changed: 4-13-99
  2.  
  3.  
  4. NNAAMMEE
  5.      CCSSMMGG - Performs a conditional scalar merge
  6.  
  7. SSYYNNOOPPSSIISS
  8.      CCSSMMGG (([II==]_i,, [JJ==]_j,, [KK==]_k))
  9.  
  10. IIMMPPLLEEMMEENNTTAATTIIOONN
  11.      UNICOS, UNICOS/mk, IRIX systems
  12.  
  13.      CF90, MIPSpro 7 Fortran 90
  14.  
  15. SSTTAANNDDAARRDDSS
  16.      Fortran extension
  17.  
  18. DDEESSCCRRIIPPTTIIOONN
  19.      The CCSSMMGG intrinsic function merges _i and _j, controlled by the bit mask
  20.      in _k.  When a 1 bit appears in _k, the corresponding bit of _i becomes
  21.      the corresponding bit of the result.  When a 0 bit appears in _k, the
  22.      corresponding bit of _j is taken.  Therefore, CCSSMMGG((_i,, _j,, _k)) equals the
  23.      following specification:
  24.  
  25.           (_i ..AANNDD.. _k)) ..OORR.. ((_j ..AANNDD.. ..NNOOTT.. _k)
  26.  
  27.      The CCSSMMGG function accepts the following arguments:
  28.  
  29.      _i         First item to be merged.  Can be of Boolean, integer, real,
  30.                or Cray pointer type.  Must be the same length as _j and _k.
  31.  
  32.      _j         Second item to be merged.  Can be of Boolean, integer, real,
  33.                or Cray pointer type.  Must be the same length as _i and _k.
  34.  
  35.      _k         Bit mask.  Can be of Boolean, integer, real, or Cray pointer
  36.                type.  Must be the same length as _i and _j.
  37.  
  38.      CCSSMMGG is an elemental function.  The name of this intrinsic cannot be
  39.      passed as an argument.
  40.  
  41. NNOOTTEESS
  42.      The CCSSMMGG intrinsic function is outmoded.  Refer to the _F_o_r_t_r_a_n
  43.      _L_a_n_g_u_a_g_e _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, _V_o_l_u_m_e _3, for information on outmoded
  44.      features and their preferred standard alternatives.
  45.  
  46. RREETTUURRNN VVAALLUUEESS
  47.      On UNICOS and UNICOS/mk systems, the return value is of type Boolean.
  48.      On IRIX systems, the return value is of type integer.
  49.  
  50. EEXXAAMMPPLLEESS
  51.      Example 1:  Specifying CCSSMMGG((_i,,_j,,MMAASSKK((6644)) or CCSSMMGG((_i,,_j,,--11)) returns ii.
  52.  
  53.      Example 2:  CCSSMMGG((_i,,_j,,00)) returns _j.
  54.  
  55.      Example 3:  Specifying the conditional scalar merge CCSSMMGG(( ''AABBCCDDEEFFGGHH''HH,,
  56.      ''1122334455667788''HH,, XX''00000000FFFFFFFFFFFF00000000FFFF'' )) generates ''1122CCDDEE6677HH''HH as the
  57.      result.
  58.  
  59.      Example 4:  This example applies only to UNICOS systems.
  60.  
  61.                 INTEGER EXPONENT,EXPMASK
  62.                 PARAMETER( EXPMASK = X'7FFF000000000000' )
  63.           C Statement function:
  64.                 EXPONENT(X) = SHIFTR(X .AND. EXPMASK, 48)
  65.           C Statement function:
  66.                 DIVBY2(X) =
  67.               & CSMG( SHIFTL(EXPONENT(X)-1,48),
  68.               &       X,
  69.               &       EXPMASK )
  70.  
  71.      According to this example, a call to DDIIVVBBYY22((--2288..00)) yields -14.0.
  72.  
  73. SSEEEE AALLSSOO
  74.      _I_n_t_r_i_n_s_i_c _P_r_o_c_e_d_u_r_e_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l for the printed version of this
  75.      man page.
  76.